part of 'theme.dart';

class GoogleAppleStorePurchasePageTextTheme {
  const GoogleAppleStorePurchasePageTextTheme._internal({
    required this.title,
    required this.subtitle,
    required this.purchaseItemTileDuration,
    required this.purchaseItemTileDurationLabel,
    required this.purchaseItemTilePrice,
    required this.purchaseItemTilePriceLabel,
    required this.purchaseItemTileMonthlyPrice,
    required this.purchaseItemTileYearSubscriptionBadge,
    required this.premiumFeatureTitle,
    required this.premiumFeatureSubtitle,
    required this.disclaimer,
  });

  factory GoogleAppleStorePurchasePageTextTheme.light({
    required Color primaryContrastingColor,
  }) {
    return GoogleAppleStorePurchasePageTextTheme._internal(
      title: GoogleAppleStorePurchasePageStyles.titleTextStyle.copyWith(
        color: CoreStyles.defaultDarkTextColor,
      ),
      subtitle: GoogleAppleStorePurchasePageStyles.subtitleTextStyle.copyWith(
        color: CoreStyles.darkGrey2,
      ),
      purchaseItemTileDuration:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileDurationTextStyle.copyWith(
        color: CoreStyles.defaultDarkTextColor,
      ),
      purchaseItemTileDurationLabel:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileDurationLabelTextStyle.copyWith(
        color: CoreStyles.defaultDarkTextColor,
      ),
      purchaseItemTilePrice:
          GoogleAppleStorePurchasePageStyles.purchaseItemTilePriceTextStyle.copyWith(
        color: CoreStyles.grey5,
      ),
      purchaseItemTilePriceLabel:
          GoogleAppleStorePurchasePageStyles.purchaseItemTilePriceLabelTextStyle.copyWith(
        color: CoreStyles.grey5,
      ),
      purchaseItemTileMonthlyPrice:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileMonthlyPriceTextStyle.copyWith(
        color: CoreStyles.grey5,
      ),
      purchaseItemTileYearSubscriptionBadge: GoogleAppleStorePurchasePageStyles
          .purchaseItemTileYearSubscriptionBadgeTextStyle
          .copyWith(
        color: primaryContrastingColor,
      ),
      premiumFeatureTitle: GoogleAppleStorePurchasePageStyles.premiumFeatureTitleTextStyle.copyWith(
        color: CoreStyles.defaultDarkTextColor,
      ),
      premiumFeatureSubtitle:
          GoogleAppleStorePurchasePageStyles.premiumFeatureSubtitleTextStyle.copyWith(
        color: CoreStyles.grey5,
      ),
      disclaimer: HomeCoreStyles.purchaseDisclaimerTextStyle.copyWith(
        color: CoreStyles.grey1,
      ),
    );
  }

  factory GoogleAppleStorePurchasePageTextTheme.dark({
    required Color primaryContrastingColor,
  }) {
    return GoogleAppleStorePurchasePageTextTheme._internal(
      title: GoogleAppleStorePurchasePageStyles.titleTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      subtitle: GoogleAppleStorePurchasePageStyles.subtitleTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTileDuration:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileDurationTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      purchaseItemTileDurationLabel:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileDurationLabelTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      purchaseItemTilePrice:
          GoogleAppleStorePurchasePageStyles.purchaseItemTilePriceTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTilePriceLabel:
          GoogleAppleStorePurchasePageStyles.purchaseItemTilePriceLabelTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTileMonthlyPrice:
          GoogleAppleStorePurchasePageStyles.purchaseItemTileMonthlyPriceTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTileYearSubscriptionBadge: GoogleAppleStorePurchasePageStyles
          .purchaseItemTileYearSubscriptionBadgeTextStyle
          .copyWith(
        color: primaryContrastingColor,
      ),
      premiumFeatureTitle: GoogleAppleStorePurchasePageStyles.premiumFeatureTitleTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      premiumFeatureSubtitle:
          GoogleAppleStorePurchasePageStyles.premiumFeatureSubtitleTextStyle.copyWith(
        color: CoreStyles.grey3,
      ),
      disclaimer: HomeCoreStyles.purchaseDisclaimerTextStyle.copyWith(
        color: CoreStyles.darkGrey1,
      ),
    );
  }

  final TextStyle title;
  final TextStyle subtitle;
  final TextStyle purchaseItemTileDuration;
  final TextStyle purchaseItemTileDurationLabel;
  final TextStyle purchaseItemTilePrice;
  final TextStyle purchaseItemTilePriceLabel;
  final TextStyle purchaseItemTileMonthlyPrice;
  final TextStyle purchaseItemTileYearSubscriptionBadge;
  final TextStyle premiumFeatureTitle;
  final TextStyle premiumFeatureSubtitle;
  final TextStyle disclaimer;
}
